module precision
	implicit none
	integer, parameter:: adequate = selected_real_kind (6,35)
	integer, parameter:: precise = selected_real_kind (14,99)
	real(precise):: pi 

	contains

	subroutine init_precision
	   pi = acos(-1.0_precise)
	end subroutine init_precision
end module precision